package main.flex.component.media
{
	import mx.controls.Alert;
	import mx.controls.Image;
	import mx.controls.VideoDisplay;
	import mx.core.UIComponent;
	import mx.events.FlexEvent;

	public class MediaDisplay extends UIComponent
	{
		
		private var _video:Boolean;
		private var _source:String;
		private var _affichage:UIComponent;
		
		public function MediaDisplay()
		{
			super();
		}
		
		public function set source(chemin:String):void
		{
			//Test si c'est une vidéo ou une image ?
			if(chemin.substr(chemin.length-3)=="flv")
			{
				//Video
				_video=true;
			}else{
				//Image
				_video=false;
			}
			//affectation propriété
			_source=chemin;
		}
		
		override protected function commitProperties():void
		{
			super.commitProperties();
			if(_video)
			{
				_affichage=new VideoDisplay();
				VideoDisplay(_affichage).source=_source;
			}else{
				_affichage=new Image();
				Image(_affichage).source=_source;
			}
			_affichage.addEventListener(FlexEvent.CREATION_COMPLETE,createComplete);
			
			
		}
		
		private function createComplete(pEvt:FlexEvent)
		{
			addChild(_affichage);
			invalidateDisplayList();
		}
	}
}